package com.campus.util;

import java.math.BigInteger;
import java.security.MessageDigest;

public class AppMD5Util {  
    
     
   /** 
    * 对字符串md5加密(小写+数字) 
    * 
    * @param str 传入要加密的字符串 
    * @return  MD5加密后的字符串 
    */  
     
   public static String MD5(String s) {  
       char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};         
 
       try {  
           byte[] btInput = s.getBytes();  
           // 获得MD5摘要算法的 MessageDigest 对象  
           MessageDigest mdInst = MessageDigest.getInstance("MD5");  
           // 使用指定的字节更新摘要  
           mdInst.update(btInput);  
           // 获得密文  
           byte[] md = mdInst.digest();  
           // 把密文转换成十六进制的字符串形式  
           int j = md.length;  
           char str[] = new char[j * 2];  
           int k = 0;  
           for (int i = 0; i < j; i++) {  
               byte byte0 = md[i];  
               str[k++] = hexDigits[byte0 >>> 4 & 0xf];  
               str[k++] = hexDigits[byte0 & 0xf];  
           }  
           return new String(str);  
       } catch (Exception e) {  
           e.printStackTrace();  
           return null;  
       }  
   }  
 
//        public static void main(String[] args) {  
//       String md5 = MD5("password");  
//             String md52 = getMD5("password22");           
//   }  
}  
